home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Installation Tools & Overlays 2002 November
/
SGI IRIX Installation Tools & Overlays 2002 November - Disc 4.iso
/
dist
/
license_eoe.idb
/
usr
/
relnotes
/
license_eoe
/
ch8.z
/
ch8
Wrap
Text File
|
2002-10-15
|
56KB
|
1,585 lines
- 1 -
8. _G_l_o_b_e_t_r_o_t_t_e_r__F_L_E_X_l_m__R_e_l_e_a_s_e__N_o_t_e_s
Flexible License Manager
Version 8.1b
RELEASE NOTES
These release notes describe the changes from FLEXlm v7.2.
Summary of v8 Enhancements from v7.2
______________________________________
Mobile Licensing. 2 new methods are supported:
o BORROW-attribute: The client specifies the borrow
duration, and the server keeps the license checked out
via linger. The client uses a local file to do checkouts
during the borrow period. Significant enhancements were made
throughout the product to make this relatively secure
(although less so than without borrowing) and easy-to-use.
o FLEXid FLOAT_OK: Licenses issued node-locked to FLEXids
can now float on a network, if the license has the FLOAT_OK
attribute. Supported where client and server are Windows.
If the dongle is attached to a license server, then the
license floats on the network. To take home, user moves the
dongle from the server to a standalone Windows system.
License then only runs on standalone system, and is removed
from network.
8-bit character support:
o 8-bit characters (supporting Latin-based languages)
is now fully supported, including license files, client
environments, and log files.
lmutil/lmtools Improvements:
o lmreread now rereads all relevant information in the license
and options file.
o lmborrow command to support linger-based borrowing.
o lmswitch command to control debug log file location and
size, on a per vendor-daemon basis.
o lmdown can be forced to run only on the license-server node,
via 'lmgrd -local'.
o lmpath: Allows users improved direct control over the license file
settings.
Unix heartbeat multi-thread support on popular platforms:
o Previously, on Unix the only safe way to use heartbeats was
- 2 -
for the application to call heartbeats manually. This
version supports multi-threaded heartbeats which are safe and
considerably enhance security. This is not supported on
platforms that do not have reliable pthreads support, but it
is supported on all popular platforms.
Windows, faster response when server is down, and faster lmtools:
o Windows has a known bug in the networking 'connect()' that
has caused 15 to 45-second delays when the server node is
down, and general slow response when lmtools/lmutil
communicates with a license server. This has been worked
around in this version. The response is now about the same
as Unix.
DUP_GROUP enhancement:
o Previously, only one DUP_GROUP setting was allowed per
feature. This made it difficult for companies to change
the DUP_GROUP policy. This limitation has been removed.
End-user Options file:
o IP-Addresses are supported wherever hostnames are
supported.
o DEBUGLOG can set location on a per vendor daemon basis.
Improved Dongle Support
o Dongles now supported on USB devices.
SIGN2=
o CRO customers upgrading to v8.1 will use SIGN2= licenses
Upgrading to v8.1 -- changes to lm_code.h
_________________________________________
The new lm_code.h file no longer comes with ENCRYPTION_SEEDs, but
instead has LM_SEED1-3. To upgrade simply:
1) Copy all your existing ENCRYPTION_SEEDs from your
old lm_code.h into the new lm_code.h
2) Make up new unique 32-bit numbers for LM_SEED1-3 for
your company. These must be different than the
ENCRYPTION_SEED. For your convenience we now have
a command-line utility, lmrand1 -seeds, that can be
optionally used to generate your LM_SEEDs.
In short, you need both your existing ENCRYPTION_SEEDs and new
LM_SEEDs in the new lm_code.h file.
Borrowing -- Linger-based
_________________________
- 3 -
This form of borrowing is portable, easy-to-use, reliable, but
potentially less secure than a regular FLEXlm checkout.
Therefore, by default it is disabled. It requires no extra
coding by developers though we have provided an API so that
developers can customize it if desired (however, please see the
note about lmnewgen below).
Outline
_______
The basic mechanism is this: The user indicates through one of
a variety of options that they want to borrow licenses, and
then the applications are used (possibly just started and
stopped to initiate the borrow), which use causes the licenses
to be borrowed. If the app is run twice in this mode, the
second checkout does not borrow another copy. The license
remains checked out ("lingers") at the license server, and a
local encrypted file is stored on the end-user's system.
Subsequent checkouts are done against the local file, until the
borrow period expires, at which time the local encrypted file
no longer allows checkouts, and the server returns the
borrowed/lingered license to the available pool.
No clock synchronization is required between client and server.
Security
________
There are two security issues, which we've taken steps to
minimize as best as possible while maintaining an easy-to-use
and reliable system:
RISK 1) Should the server be stopped and restarted,
the licenses will be served again, which means
that extra uses may occur. Note that most
honest end-users are already reluctant to ever
shutdown license servers, which inherently
minimizes this risk.
lmremove does not return linger licenses, so
lmremove is not a risk.
RISK 2) The local borrow file is itself a point of
attack for counterfeiters. If this borrow file
can be counterfeited, then the product can be
used without a valid license. This is not as
secure a CRO licenses, and unfortunately cannot
be. We believe this to be "reasonably" secure
except for products that are particularly
attractive to determined hackers.
More details about how we minimize these risks follow.
- 4 -
How to Enable
_____________
By default, linger-based borrowing is disabled.
Linger-based borrowing is enabled by:
1) Set LM_BORROW_OK to 1 in machind/lm_code.h and
then build the flexlm kit.
LM_BORROW_OK must be set in lm_code.h to use borrowing.
2) The individual FEATURE/INCREMENT line must also have
borrowing enabled, by adding the optional attribute
BORROW[=n]
where 'n' is the maximum number of hours that the
license can be borrowed for. RISK 1 is reduced
by reducing the number of hours. The default
is one week, or 168 hours. The maximum is
limited by the size of 32-bit integer: 2 billion
hours.
How to Borrow a license
_______________________
There are 3 methods:
o lmborrow
o LM_BORROW environment variable
o LM_A_BORROW_EXPIRE
For lmborrow and LM_BORROW, after the setup is done, the desired
features must be checked out on the same day which then borrows
the license.
lmborrow: This is one of the lmutil utilities,
and there is also a tab in lmtools for this. After
lmborrow is run, all the desired applications must be
run to checkout the desired features. Note that this
only applies to the user running lmborrow on the node
where lmborrow is run.
lmborrow {vendor|all} date [time]
For example:
- 5 -
lmborrow gsi 20-aug-2001 13:00
where date is the date the license is to be returned
in dd-mmm-yyyy format. The time is optional and is
24 hour clock in the client's local time. If
unspecified, the checkout lasts until the end of the
given day. The vendor is the vendor daemon name for
the products to be borrowed, or "all" for all
vendors.
LM_BORROW: Environment variable. The format is:
today:vendor:enddate[:time]
where is
_____ __
today: Today's date in dd-mmm-yyyy format
Any checkouts done on this date
will create local borrow info.
If the environment variable still
exists on other dates, it will
have no effect.
enddate: The date the license is to be
returned in dd-mmm-yyyy format
time: 24-hour format. Optional. If
unspecified, the time is at the
end of the date on enddate.
vendor: The vendor name of the products
to be borrowed, or 'all' for
all vendors.
For example,
LM_BORROW="15-aug-2001:gsi:20-aug-2001:13:00"
The license is being borrowed on 15-aug-2001, and
will be returned at 1p.m. on August 20.
Note that lmborrow actually sets the LM_BORROW
variable in the registry (Windows) or in the .flexlmrc
(Unix), so the lmborrow utility is effectively a user
interface for this variable.
LM_A_BORROW_EXPIRE:
This is for the application that wants to provide
an interface for borrowing themselves.
Before lc_checkout, call
- 6 -
lc_set_attr(job, LM_A_BORROW_EXPIRE,
(LM_A_VAL_TYPE)datestring);
where datestring is the date and optionally time
when the borrowed license expires. Presumably
the ISV will provide a user interface
where the user specifies when the license
should be returned. This then would be used as
as 'datestring' above.
Any subsequent checkouts in this job will create
the local borrow info.
After using lmborrow or setting $LM_BORROW, all the desired
applications must be run and their licenses checked out at
least once on the same day that lmborrow is run or $LM_BORROW
is set, and while connected to the network where the license
server is running. If they are run more than once, that's
okay, only one license is borrowed. This effect lasts until
the end of the day, in client local time. So, once lmborrow is
used or $LM_BORROW set, all checkouts done on the same day, and
while connected, will borrow licenses. If a connected checkout
occurs any day following the setup, it will not borrow a
license.
Errors
______
Checkout fails if borrowing is requested under the following
conditions:
o LM_BORROW_TOOLONG:
Borrow period requested is longer than the
license allows
o LM_NOBORROWSUPP:
The license doesn't support borrowing, or
the application doesn't support borrowing.
Other changes for Borrowing
___________________________
A number of enhancements were made to make borrowing more
convenient and secure. Many of these changes were made
so that servers should rarely need to be shutdown, which
minimizes RISK 1 outlined above.
o The end-user options file is now reread with the
lmreread command.
o The lmswitch and DEBUGLOG end-user option allows
- 7 -
end-users to control the size of debug log files
and redirect them as necessary.
o The hostname on the SERVER line of the license is
reread with a lmreread command.
o If licenses are borrowed, lmdown will only work
from the same host where the license server is
running, and only if the user types
lmdown -force [...]
or selects force from the lmtools GUI.
Otherwise, an error is presented saying there
are outstanding borrowed licenses. The debuglog
also prints the names of users with borrowed
licenses.
o lmstat user feature output includes borrow information
where applicable.
o lmborrow -status will print information
about features borrowed to the client node, that is,
the node where lmborrow is being run. This is useful
for finding out which features have been borrowed
while disconnected from the network.
o The same information available from lmborrow -status
can be obtained with
LM_BORROW_STAT *s;
lc_get_attr(job, LM_A_BORROW_STAT, &s);
for (; s; s = s->next)
{
/* s contains local borrow status */
}
o lmborrow -clear will clear the borrow setting, so
no checkouts will attempt to borrow a license.
o 'lmgrd -local' only allows the lmdown command to be
run from the same node where the lmgrd command is
running.
End-user options support
________________________
BORROW_LOWWATER feature n
where "feature" is the feature name and "n" is the number of
licenses which cannot be borrowed. For example if
the feature line says:
FEATURE f1 ... 10 ... BORROW
and the options file has
BORROW_LOWWATER f1 3
- 8 -
then only 7 licenses can be borrowed.
INCLUDE_BORROW feature type name
See the INCLUDE syntax. If set, only users
or hosts listed can borrow "feature".
EXCLUDE_BORROW feature type name
See the EXCLUDE syntax. If set, only users
not excluded can borrow "feature".
Minimizing 'RISK 2'
___________________
This is the risk of someone counterfeiting a local borrow
file.
IMPORTANT NOTE: Borrowing security will only function fully if
you regenerate lm_new.o every time you relink your
application. This is illustrated in our sample makefiles.
RISK 2 is minimized:
o The borrow file encrypted string includes the
FEATURE line that was used to borrow against.
The license is checked out against this FEATURE line
as usual, with the only exception being the
count. Therefore, using CRO is an advantage with
borrowing, since CRO licenses are presumed to
be uncounterfeitable.
o The borrow encrypted string includes a hostid. On
Windows this hostid is the disk-serial number, since
ethernet hostid is often unavailable when Windows is
unconnected to a network. This hostid is validated.
o The borrow encrypted string contains the borrow
start- and end-time, and the difference between the
start and end time must be no longer than the license
allows for. Therefore the borrow files would have to
be recreated every few days. That is, even if
someone could counterfeit a borrow file, they would
have to do regularly for each feature.
o The cryptography used for borrowing is, by default,
contained in lm_new.o (lm_new.obj on windows). This
file should be generated anew for every version of
every program. If so, then counterfeiting borrow
files will be different for every version of every
program. A fresh lm_new.c is generated by the
lmnewgen program. (Note that lmnewgen is built
by the makefile during product installation, and is
not part of the kit. It's unique to your company.)
- 9 -
o By default, local borrow information is stored in
Unix: $HOME/.flexlmborrow Windows: MY
ComputerY_LOCAL_MACHINETWARE FLEXlm License ManagerBorrow
The data is encrypted and not intended to be read.
However, if you remove or alter the data, borrowing
will naturally fail.
lmborrow utility
________________
This will borrow the licenses, and tell you what features
you already have borrowed, then when they will expire.
lmborrow {vendor|all} date [time]
where date is the date the license is to be returned
in dd-mmm-yyyy format. The time is optional and is
24 hour clock in local time.
For example: lmborrow gsi 20-aug-2001 13:00
lmborrow -status
Prints a list of local borrow information so the
end-user can see what they've already borrowed.
Borrowing -- Dongle-based
_________________________
Borrowing can currently be implemented with dongles on Windows.
Both the server and client must be Windows.
To implement borrowing using dongles:
1) Issue a license node-locked to a dongle with the new
FLOAT_OK attribute, along with a dongle. One dongle and
one FEATURE line are required per license that will be
borrowable.
FEATURE f1 gsi 1.0 permanent uncounted FLOAT_OK HOSTID=FLEXID=7-b28520b9 SIGN=123456789012
2) The end-user attaches all of the dongles to the license server.
These licenses then float, with a count of 1 per
FLOAT_OK license.
3) To borrow, the end-user must have a copy of the FEATURE
line on their system in a location where the application
- 10 -
expects to find it. The dongle is then moved from the
server to the disconnected client node. The floating usage
is disabled, the license works on the node with the
dongle, even when disconnected from the network.
4) By default, it is possible to get one extra use from FLOAT_OK
licenses by running a node-locked license on the license server
since the license can also float while on the license server.
This can be disabled using a hostid modifier on the FLOAT_OK
attribute, explained below.
Example:
SERVER myhost 009027319bbb
VENDOR gsi
FEATURE f1 gsi 1.0 uncounted permanent FLOAT_OK HOSTID=FLEXID=7-b28520b9 SIGN=123456789012
FEATURE f1 gsi 1.0 uncounted permanent FLOAT_OK HOSTID=FLEXID=7-b2857678 SIGN=ABCDEF123456
To begin with, both dongles are on the server.
When attached to the license server, each FLOAT_OK license
becomes a single floating use. Therefore, up to 2 users can use
f1 on the customers network, except on the server node,
where, the license use is disallowed.
If Sue wants to work at home, she installs the license file on
her system (this only needs to be done once), and transfers the
dongle from the server to her PC. The server now allows the
remaining 1 license to float.
After returning the dongle to the server, Sue (or the sysadmin)
will need to run lmreread for the 2nd license to float again.
Note that this borrowing method is unrelated to Linger-based
borrowing. None of the following have any impact on
dongle-based borrowing:
LM_BORROW_OK
lmborrow utility
FLOAT_OK=serverhostid
_____________________
By default, it is possible to get one extra use from FLOAT_OK
licenses by running a node-locked license on the license server
node while the license is floating.
This can be disabled using a hostid modifier on the FLOAT_OK
attribute:
1) The serverhostid is the same hostid that appears on
the SERVER line.
- 11 -
2) The license server can only be run on the node
with lmhostid equal to the serverhostid specified
with FLOAT_OK.
3) The client can run on the server node, but
they can only use the license being served by the
license-server, not the node-locked license.
Otherwise an extra use for each FLOAT_OK license
could occur.
Example:
SERVER myhost 009027319bbb
VENDOR gsi
FEATURE f1 gsi 1.0 uncounted permanent FLOAT_OK=009027319bbb HOSTID=FLEXID=7-b28520b9 SIGN=123456789012
This places some extra burden on the user and the license issuer,
since the server's hostid (not the dongle flexid) must be
specified in the license.
HOSTID lists are not allowed with FLOAT_OK
__________________________________________
The hostid on the FLOAT_OK feature line must be only one hostid.
For multiple dongles, use individual FEATURE lines for each
dongle.
8-bit character support
_______________________
With this version, all "8-bit" characters are now supported.
These are the characters required for most latin-based
languages, including all accented vowels. FLEXlm now fully
supports characters from 40 (space) through 255 (y-umlaut in
ISO-latin encoding), along with the normal "spacing"
characters: tab (9), newline(10), and CR(13).
Note that an 8-bit editor with standard ISO-latin support is
required to view these characters correctly in this document.
Unix vi is often not correctly 8-bit, and MS-DOS command line
is not. Windows editors usually correctly support ISO-Latin
8-bit.
These 8-bit characters can now be used in all parts of FLEXlm
including, but not limited to:
o All components of the license file
o All components of the options file
o User names, hostnames
Unix heartbeat multi-thread support on popular platforms
- 12 -
________________________________________________________
On Unix, heartbeats are now performed via multi-threading
by default on most platforms. Previously, the default behavior
was to use SIGALRM, which was not recommended and was
susceptible to core dumps.
Applications on platforms that support pthreads must now link
in the pthreads library.
On all platforms except AIX, this is done by appending
-lpthread
to the link line. On AIX, it's
-lpthreads
If an application cannot use this library, then
link in lm_nomt.o before liblmgr.a, thereby disabling
multi-threaded heartbeats.
cc ... lm_nomt.o ... liblmgr.a ...
Alternatively the old SIGALRM can be used by setting
LM_A_MT_HEARTBEAT to 0:
lc_set_attr(job, LM_A_MT_HEARTBEAT, (LM_A_VAL_TYPE)0);
Although this is not recommended. Instead, it's better to
use manual heartbeats.
All platforms support multi-threaded heartbeats, EXCEPT:
alpha_r6
alpha_u3
hp700_u10 (Use hp700_u11 instead)
i86_b2
i86_g2
i86_l1
i86_x5
i86_u7
ppc_u4
rm400_u5
rs6000_u3
rs64_u4
sco_u3
CRO ISVs upgrading to v8.1
__________________________
- 13 -
CRO customers will use SIGN2= licenses with v8.1. When
generating licenses for v8.1, add SIGN2=0 before using
lmcrypt on the license. The older clients will use the
SIGN= for authenticating and newer clients will use
SIGN2=.
SIGN2= provides necessary additional CRO security.
Other enhancements
__________________
UNIX: lockfile now in /var/tmp.
________________________________
Historically, the flexlm lockfile is in /usr/tmp. We're
migrating to /var/tmp since /usr/tmp is no longer part of
the standard Unix file system. We still check for /usr/tmp
lockfiles, however, so that this system is still secure.
Locale independence.
____________________
FLEXlm is guaranteed work identically regardless of the
"current locale".
lmpath
______
This lmutil/lmtools utility allows direct control over
FLEXlm license paths. It has 2 modes: get and set. To get
the current paths, simply use lmpath with no arguments, e.g.,
% lmpath
lmpath - Copyright (C) 1989-2001 Globetrotter Software, Inc.
Known Vendors:
_____________
demo: ./floating.lic:./locked.lic
_____________
Other Vendors:
______________
/usr/local/flexlm/licenses/license.dat
Note that where the path is set to a directory, all the *.lic files
are separately listed.
- 14 -
To set the path, use:
% lmpath vendor path
where <vendor> is the vendor daemon name, or "all" for all vendors, and
<path> is a colon (semi-colon on Windows) separated list.
Note that this CANNOT set or override the environment.
It only sets the FLEXlm registry on Windows and $HOME/.flexlmrc
on Unix.
lmswitch
________
This lmutil and lmtools.exe command causes a vendor daemon to
write its debug log information to a specified file. The
syntax is:
[ lmutil ] lmswitch [-c license-path] vendor filename
where "vendor" is the vendor daemon name. The debug log information
is then only for that one vendor daemon, where the default is to
put all vendor daemons and lmgrd debug log info into the same file.
This, for the first, allows companies to control the size of
their debug log file, as well as keep separate log files for
different vendors (see DEBUGLOG below).
DEBUGLOG in options file
________________________
The syntax is:
DEBUGLOG file
where file is the filename/path of where the debug log should go.
Note that this only affects this particular vendor. The rest
of the debuglog information is unaffected.
See also "lmswitch" above.
Windows: faster response when the server is down
________________________________________________
Windows has a bug (which Microsoft has said the plan to fix
at some unspecified future date) that causes the connect()
function call to have a delay when the license server is down.
- 15 -
When using a "default port" (the port number is not on the
SERVER line, or using @host), the delay was 15 seconds.
This is now reduced to 1.5 seconds in version 8, by an internal
workaround which used multi-threading.
Options File
______________________
IP-Address can be used instead of hostnames:
Wherever a hostname can be used in the options file,
an ip-address can be used instead, in the format
#.#.#.#, eg., 123.456.123.456.
In particular, this is supported in a HOST_GROUP.
Options pool selection:
When there are multiple pools for a single feature
(this happens with certain INCREMENT lines, when, for example
they are for different versions), and you want to
refer to these in the options file, you have to "select" the
pool. Historically this was done like this:
feature:key=value
However, since colon is now a valid featurename character,
this syntax can be optionally specified:
"feature key=value"
The colon is replaced with a space and the whole thing
is put in quote marks.
lmnewgen
________
lmnewgen is an executable that is built during product install
by the makefile, and is based upon information in lm_code.h.
It is unique to your company, and contains all the private
security information unique to your company. It cannot be
used to counterfeit licenses, but nevertheless shouldn't be
released to untrusted sites.
lmnewgen creates the lm_new.o (lm_new.obj) file which must
be linked with your application and vendor daemon. (Note that
this was called lmrand2 in previous versions, but has been
significantly enhanced for borrowing).
IMPORTANT NOTE FOR BORROWING: If you are using borrowing,
your product will be more secure if you regenerate lm_new.o
- 16 -
every time you relink your application.
.flexlmrc and .flexlmborrow on Unix
___________________________________
The $HOME/.flexlmrc is where all FLEXlm environment variables can
be stored, in addition to the Unix environment. It behaves
like a registry location on Windows where FLEXlm variables
can also be stored. For example, <VENDOR>_LICENSE_FILE can
be stored there (where <VENDOR> is the name a company's vendor
name).
Similarly, borrowing information is stored by default in
$HOME/.flexlmborrow.
The location of these 2 files can be changed by setting
the $FLEXLM_BORROWFILE and $FLEXLM_RC environment variables.
Naturally, these should be set in the real environment, not in
$HOME/.flexlmrc.
These variables may be useful for developers when testing.
lmreread
________
lmreread now rereads:
o options file
o hostnames on the SERVER
o path to options file on the VENDOR line
Effect on USER_BASED and HOST_BASED:
Rereading the options file has a security impact on
USER_BASED and HOST_BASED. If it's too easy to change
the INCLUDE list for USER_BASED and HOST_BASED, then
these attributes stop having the desired effect.
Therefore, there is a *delay* in effecting changes
to INCLUDE lines that impact USER_BASED or HOST_BASED
features.
By default, the delay is 12 hours. This can be changed
with the ls_user_based_reread_delay setting in the
lsvendor.c file. It can only be changed there
and affects all USER_BASED/HOST_BASED features.
Windows Terminal Server support
_______________________________
- 17 -
FLEXlm now detects when a node-locked uncounted license
is running under Windows Terminal Server. If it's running on
a "remote" node, then the checkout will be denied with
LM_TSOK_ERR. If you want to allow users to run on Terminal
Server remote nodes, then the new TS_OK attribute must be
added to the license.
lmrand1 -seed
_____________
This is an optional program to generate the seeds necessary for
lm_code.h. That is, lm_code.h in v8.1 will require LM_SEED1-3
and these must be random numbers the ISV makes up. So, they
can use 'lmrand1 -seed' to make up these numbers if they want
to.
The output appears on the screen and in a file called lmseed.dat.
Here's a sample session:
> lmrand1 -seed
The machind/lm_code.h file requires LM_SEED1-3 be set to random
numbers. Once made up these numbers must *never* change. This program
will automatically generate these for you, or you can make them up in
some other fashion if you prefer.
The output appears on the screen, and in "lmseed.dat"
Press RETURN to generate the seeds... <CR>
Please wait...................................................
Once set, the values for LM_SEED1-3 must *never* change.
#define LM_SEED1 0x186f24f0
#define LM_SEED2 0x11cd5b60
#define LM_SEED3 0x9f6cc8c3
Note the <CR> is where the user presses Return/Enter.
LM_A_KEY_LEVEL renamed to LM_A_SIGN_LEVEL
_________________________________________
This attribute is only used when migration to CRO from
non-CRO. If you've used this attribute, you'll need to rename
it to LM_A_SIGN_LEVEL.
Features planned to be obsoleted in Version 9
_____________________________________________
o lmcksum will be removed from the license generator,
lmutil and lmtools
- 18 -
o UDP support will be discontinued.
Platform Specific Notes:
________________________
WINDOWS
_______
i86_n3 -- Microsoft Windows 32-bit
______
Currently, the GENLIC license generation utility is not
available in this release. To encrypt licenses, use lmcrypt
or makekey utilities.
FLEXlock changes have occurred in this release of FLEXlm.
Please see Programmers Guide documentation for additional
information.
Known Issues:
____________
- Genlic GUI license generator utility not availiable in this release.
Please use lmcrypt or makekey command-line utilities.
Itanium
_______
it64_n -- Microsoft Windows XP / Windows .NET Server for Itanium 64-bit
______
Currently, the GENLIC license generation utility is not
available in this release. To encrypt licenses, use lmcrypt
or makekey utilities.
FLEXlock changes have occurred in this release of FLEXlm.
Please see Programmers Guide documentation for additional
information.
Built with:
__________
- Microsoft Platform SDK November 2001, 64-bit
- Microsoft C/C++ compiler version 13.00.9337.7 for IA-64
- Microsoft Incremental Linker version 7.00.9337.7
- Microsoft Program Maintenance Utility version 7.00.9337.7
Hardware Requirements:
_____________________
- 19 -
- Itanium CPU B3 Stepping or greater
- BIOS Firmware revision 89 or greater
- Memory RAM, 500 MB or greater
- Hard Disk, 25 MB space free or greater
Known Issues:
____________
- Genlic GUI license generator utility support not available, please use
lmcrypt or makekey command-line utilities.
- Parallel or USB Dongle (FLEXid) support not available.
- CPU Serial number support (Pentium III) not available on Itanium Chip.
- The following situation can occur while building a vendor
daemon in it64_n:
if exist lm_new.c del lm_new.c
lmnewgen.exe demo.exe -o lm_new.c
Verify failed, 0xc6f8 != 0x30f8NMAKE : fatal error U1077:
'lmnewgen.exe' : return
code '0xffffffff'
Stop.
The workaround for this error is to run the NMAKE again.
This error may occur many times before a successful
build.
UNIX
____
alpha_r6 -- Alpha Redhat 6
________
uname -a: Linux chumley.globes.com 2.2.14-6.0 #1
Tue Mar 28 16:56:56 EST 2000 alpha unknow
cc: /usr/bin/cc
alpha_u3 -- Compaq Tru64 Dec Unix Alpha OSF1 OS3+
________
Compatible with OS3 and higher
Note that lmstrip should be avoided on this OS, due to
outstanding bugs. However, lmstrip doesn't provide
any additional security on this OS, so it shouldn't be needed.
uname -a: OSF1 zippy.globes.com V3.2 17 alpha
cc: /usr/ccs/bin/cc -std
hp700_u10 -- HPUX 10.x through 11.x 32-bit
- 20 -
________
uname -a: HP-UX oglobes B.10.20 A 9000/715 2005771344
cc: /bin/cc -Aa -D_HIUX_SOURCE -D_HPUX_SOURCE +DA1.0 +DS1.0
Hostid note: we no longer recommend using ethernet address
as a hostid. It may fail on some HPUX 11.x systems.
No MT-heartbeat support (use hp700_u11 if needed)
hp700_u11 -- HPUX 11.x 32-bit
________
uname -a: HP-UX hpc180 B.11.00 A 9000/780 2013810305 two-user
cc: /bin/cc -Aa -D_HIUX_SOURCE -D_HPUX_SOURCE +DA1.0 +DS1.0
Hostid note: we no longer recommend using ethernet address
as a hostid. It may fail on some HPUX 11.x systems.
hp64_u11 -- 64-bit HP PA-RISC
_____________________________
uname -a: HP-UX hpc180 B.11.00 A 9000/780 2013810305 two-user
cc: /bin/cc -D_HIUX_SOURCE -D_HPUX_SOURCE +DA2.0W +DS2.0W
i86_b2
______
uname -a: BSD/OS bsdi.globes.com 2.1 BSDI BSD/OS 2.1
Kernel #1: Mon Jun 10 15:58:19 MDT 1996
polk@demiurge.BSDI.COM:/usr/src/sys/compile/GENERIC
i386
cc: /usr/bin/cc
Multi-threaded heartbeats are not supported.
i86_f3
______
This is the freebsd platform. We no longer support i86_f2, which
is incompatible with i86_f3. i86_f3 however, is completely
compatible with i86_f4 (freebsd 4.x)
uname -a: FreeBSD homegrown.globes.com 3.4-RELEASE FreeBSD
3.4-RELEASE #0: Mon Dec 20 06:54:39 GMT 1999
jkh@time.cdrom.com:/usr/src/sys/compile/GENERIC i386
cc: /usr/bin/cc
Link: -pthread
i86_l1, i86_g2, i86_r6 Linux
______________________
i86_l1: Caldera linux, Redhat 4
i86_g2: Linux with GLibc, Redhat 5
- 21 -
i86_r6: Redhat 6
i86_g2 binaries will run fine on Redhat 6, but
when mixing objects and libraries between redhat 5 and 6,
when linked and run, will not behave correctly.
i86_l1 binaries will *appear* to run on Redhat 5, but
will fail with wierd errors.
Only i86_r6 supports multi-threaded heartbeats.
i86_u7 -- Unixware 7
______
uname -a: UnixWare unixware7 5 7 i386 x86at SCO UNIX_SVR5
cc: /usr/ccs/bin/cc
i86_n3 -- 32-bit windows 95, 98, NT, 2000, ME
______
cl: Microsoft Visual C++ v5 and higher
necsx5_u12 -- NEC Super-UX
----------
uname -a: SUPER-UX unix 12.1 SX-5
cc: /usr/bin/cc -novector
link: -lpthread
The vendor key platform name for this platform is "necsx4".
Known Issues
------------
- Linger-based borrowing may not work correctly on this platform.
- Rapid checkouts and checkins of licenses (multiple per second)
may cause client connect failures (-15 error). Under this
load, lmgrd appears to connecting clients not to be running,
even though it is. The condition clears itself within 10-20
seconds.
rs6000_u3 AIX 3.x through 4.x, Power PC and RS6000, 32-bit
_________
uname -a: AIX rs6000 1 3 000276513100
cc: /bin/cc -D_BSD -D_BSD_INCLUDES
link flags: -lbsd
Multi-threaded heartbeats not supported.
rs64_u4 64-bit AIX
_______
- 22 -
uname -a: AIX rs64 3 4 000687724C00
cc: /usr/ibmcxx/bin/cc -DRS64 -DRS6000 -D_BSD -D_BSD_INCLUDES -q64
link flags: -lbsd -q64 -lpthreads
You have to use "ar -X64" and "strip -X64" on this platform also.
Older 32-bit binaries run fine on this OS.
Multi-threaded heartbeats not supported.
sco_u3 -- SC0 3.2 and higher
______
NOTE: If CRO is used, you will get lots of warnings during
link. These are harmless and should be ignored.
uname -a: SCO_SV sco 3.2 2 i386
cc: /bin/cc
Multi-threaded heartbeats not supported.
sgi32_u6
________
uname -a: IRIX64 challenger 6.1 07121831 IP26 mips
cc: /bin/cc -n32 -mips3
link: /bin/cc -n32 -mips3 -lpthread
Note that o32 format is in liblmgr_o32.a in this directory.
sgi64_u6
________
uname -a: IRIX64 challenger 6.1 07121831 IP26 mips
cc: /bin/cc -n64 -mips3
link: /bin/cc -n64 -mips3 -lpthread
sun4_u5
_______
uname -a: SunOS wheel.globes.com 5.5 Generic_103093-27
sun4m sparc SUNW,SPARCstation-4
cc: /opt/SUNWspro/bin/cc
link: /bin/cc -lsocket -lnsl -lintl -lpthread
sun64_u5
_______
uname -a: SunOS ultra5 5.7 Generic_106541-02 sun4u sparc
SUNW,Ultra-5_10
- 23 -
cc: /bin/cc -xarch=v9
link: /bin/cc -lsocket -lnsl -lintl -xarch=v9 -xildoff
-lpthread
Older, 32-bit binaries run fine on this OS.
Bugs fixed in v8.1b
___________________
Bug Severity Description
___________________________
P6204 2 Client cannot find dongle when server is running
as Service
p6248 3 FLEXlm -15/-12 error on licensing calls when
Firewall/VPN software installed
p6276 2 lc_errtext, lc_err_info, and lc_errstring empty
if lc_checkout returns -2
p6288 3 ISSUER= removed when lmcrypt run
p6310 2 Problem with makekey, error: Cannot assign
int *(*)() to int(*)()
P6319 3 Heartbeat and (terminal server) TS memory leak?
p6333 3 FLEXlm 8.1 borrowing doesn't work with PACKAGE/FEATURE
lines
P6342 3 VB app doesn't return error codes
P6369 2 FLEXlm v8 advanced settings
P6382 3 Citrix Support
p6407 3 Using FEATURE lines with ls_use_all_feature_lines=1
does not behave as expected
P6423 3 lc_cleanup causing crash on windows platform
Bugs fixed in v8.1a
___________________
Bug Severity Description
___________________________
P5881 3 node-locked counted should be sorted before versioning
P6009 4 lminstalls.exe still referred to lmgrd95.exe (windows)
P6175 3 Debug log missing BADCODE error messages
P6176 4 (Linux only) compile warnings from lmclient.h
P6189 3 CHECK_BADDATE set, but borrowing ignores baddate
P6200 2 v8 lmgrd not shutting down older vendor daemons
P6213 2 Heartbeats can fail
P6220 3 ls_use_all_feature lines set, INCREMENT lines fail
P6241 2 lc_auth_data + LM_CO_WAIT + port@host, failed
P6259 4 lminstall didn't prompt for input (windows only)
P6265 3 lmgrd -local and lmreread failed
Bugs fixed in v8.0
___________________
- 24 -
Bug Severity Description
___________________________
P4943 3 FLEXlm removes root path from license list (windows)
P5035 3 Lmgrd in loop spawning vendor daemons (windows)
P5206 4 Vdaemon in directory named same as vdaemon fails
(windows)
P5311 5 Debug log on Windows uses Unix terminology
P5312 3 Server doesn't detect ethercard hostid removed (windows)
P5413 5 Compile warnings on some compilers
P5424 4 lmcrypt reports -9 BADHOST error incorrectly
P5446 5 Typo in license finder window (windows)
P5447 4 Options file pool selection fails with KEY=
P5530 4 SUPERSEDE can generate incorrect error message in
debug log
P5546 3 Lmtools can't shutdown 3-server system (windows)
P5551 3 Failure if 2 licenses in path with same name
P5586 3 MAX_OVERDRAFT lost after a server reread
P5588 4 Link warnings (32-bit SGI)
P5608 4 Error message sometimes doesn't include feature name
P5611 4 Service fails if options file path has space (windows)
P5654 4 LM_CO_LOCALTEST sometimes generated errors in debuglog
P5659 4 Lmcrypt ignores syntax errors
P5671 3 Lmswitchr doesn't report errors
P5672 3 Lmstat -a incorrect, dup INCREMENT, line different case.
P5761 3 Lmdiag won't work with older vendor daemon (-83)
P5803 3 Lmdiag errors can show up in debuglog
P5814 4 lmcrypt adds a lowercase L to some hostids (windows)
P5821 4 Memory leak
P5899 3 MAC doesn't read unix format licenses
P5985 3 Lc_userlist not multi-thread safe
[$Id: RELEASE_NOTES,v 1.117 2002/04/30 18:06:00 sluu Exp $]